# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：Python抓图识别
#   文件名：testPrintWithTime.py
# 开发时间：2021/4/22 20:24
import sys  # 系统相关类库
import time  # 时间相关类库
"""
工具类函数集合
"""


def getTimeFormatted():
    """
    获取本地时间
    :return: 格式化后的【时间】字符串
    """
    return time.strftime("[%Y-%m-%d %H:%M:%S]", time.localtime())


def printWithTime(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):
    """
    自定义的打印函数，使得打印时可以带有时间戳
    :param objects: 不定长形参【元组类型】复数，表示可以一次输出多个对象。输出多个对象时，需要用 , 分隔。
    :param sep: 用来间隔多个对象，默认值是一个空格。也可以自定义为其他。
    :param end: 用来设定以什么结尾。默认值是换行符 \n，我们可以换成其他字符串。
    :param file: 要写入的文件对象。一般不需要指定
    :param flush:
    :return:
    """
    print(getTimeFormatted()+" ", end='')  # 先打印本地时间戳
    print(*objects)  # 再打印用户需要打印的内容
    # 当我们在 Python 中打印对象调用 print obj 时候，事实上是调用了 sys.stdout.write(obj+'\n')
    # print 将你需要的内容打印到了控制台，然后追加了一个换行符“\n”
    # print 会调用 sys.stdout 的 write 方法
    # 以下两行在事实上等价：
    # sys.stdout.write('hello'+'\n') == print 'hello'


printWithTime('Hi,MaverickMing')